/**
 * 	Copyright 2009 RJ Regenold 
 *	
 *	Licensed under the Apache License, Version 2.0 (the "License"); 
 *	you may not use this file except in compliance with the License. 
 *	You may obtain a copy of the License at 
 *	
 *		http://www.apache.org/licenses/LICENSE-2.0 
 *		
 *	Unless required by applicable law or agreed to in writing, software 
 *	distributed under the License is distributed on an "AS IS" BASIS, 
 *	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
 *	See the License for the specific language governing permissions and 
 *	limitations under the License. 
 */

package com.binarylion.puremvc.registration {
	
	/**
	 * This handler should be at the end of the chain. It
	 * should never get called unless a request is not properly
	 * handled. If this handler is called, it will throw an
	 * error.
	 * @author RJ Regenold
	 */
	public class CatchAllHandler extends AbstractHandler {
		
		/**
		 * Default constructor.
		 */
		public function CatchAllHandler() {
			super();
		}
		
		/**
		 * @inheritDoc
		 */
		override public function handleRequest(request:*):void {
			// TODO: provide more information about the request in the error
			throw new UnhandledRequestError('A request made it through the chain without being handled.');
		}
	}
}